package faceQuestion;

/**
 * Description： TODO
 * Author： 王多鱼
 * CreateTime： 2021/6/29 19:49
 对于命令：
 -name jack -age 20 -address "HangZhou ZheDa Road"
 要变成:
 [-name jack, -age 20, -address, "HangZhou ZheDa Road"]
 命令由参数的值对组成，参数以-开头，参数和值之间，值和值之间，
 都用空格隔开，双引号之间的值当作一个整体来处理。
 所有参数和值只包括英文字母、数字、减号、双引号。
 **/
public class CommandSplit {
    public static void main(String[] args) {
        System.out.println(parse("-name jack -age 20 -address \"HangZhou ZheDa Road\""));
    }

    private static String parse(String str) {
        String[] pars = str.split("-"); //将命令拆分
        StringBuilder sb = new StringBuilder();
        sb.append("[");
        int n = pars.length;
        for(int i = 0;i < n;i++)
        {
            if(pars[i].length() != 0)//pars[0]为空，过滤掉
            {
                sb.append("-");
                sb.append(pars[i].trim());
                if(i != n-1)
                    sb.append(", ");
            }
        }
        sb.append("]");
        return sb.toString();
    }
}
